class Instituicao(object):

	def __init__(self, cod_instituicao, cod_curso, nome_instituicao, nome_curso, grau, vagas_iniciais, colocados, notas, vagas_sobra):
		self.cod_instituicao = cod_instituicao
		self.cod_curso = cod_curso
		self.nome_instituicao = nome_instituicao
		self.nome_curso = nome_curso
		self.grau = grau
		self.vagas_iniciais = vagas_iniciais
		self.colocados = colocados
		self.notas = notas
		self.vagas_sobra = vagas_sobra

	@staticmethod
	#estatistica por instituicoes



	def numeroAlunosInstituicao(lista):
		instituicoes = []
		nAlunos = []
		for x in lista:
			sName = x.nome_instituicao.split(" - ", 1)
			if not(sName[0] in instituicoes) and (type(x.colocados) == int):
				instituicoes.append(sName[0])
				nAlunos.append(int(x.colocados))
			elif((sName[0] in instituicoes) and (type(x.colocados) == int)):
				index = instituicoes.index(sName[0])
				item = nAlunos[index]
				nAlunos[index] += int(x.colocados)
		return instituicoes, nAlunos

	@staticmethod
	#estatistica por distrito
	
	def numeroAlunosDistrito(lista):
		instituicoes = []
		nAlunos = []
		for x in lista:
			sName = x.nome_instituicao.split(" - ", 1)
			if (len(sName) > 1):
				if not(sName[1] in instituicoes) and (type(x.colocados) == int):
					instituicoes.append(sName[1])
					nAlunos.append(int(x.colocados))
				elif((sName[1] in instituicoes) and (type(x.colocados) == int)):
					index = instituicoes.index(sName[1])
					item = nAlunos[index]
					nAlunos[index] += int(x.colocados)
			else:
				if not(sName[0] in instituicoes) and (type(x.colocados) == int):
					instituicoes.append(sName[0])
					nAlunos.append(int(x.colocados))
				elif((sName[0] in instituicoes) and (type(x.colocados) == int)):
					index = instituicoes.index(sName[0])
					item = nAlunos[index]
					nAlunos[index] += int(x.colocados)

		return instituicoes, nAlunos




		